//#include <stdio.h>
//
//int count(int m, int n)
//{
//    if (m == 0) 
//    {
//        return 1;
//    }
//    if (n == 0) 
//    {
//        return 0;
//    }
//    if (m < n)
//    {
//        return count(m, m);
//    }
//    else 
//    {
//        return count(m, n - 1) + count(m - n, n);
//    }
//}
//
//int main() {
//    int m, n;
//    scanf_s("%d %d", &m, &n);
//    printf("%d\n", count(m, n));
//    return 0;
//}

//#include <stdio.h>
//
//int main() 
//{
//    int T;
//    scanf_s("%d", &T);
//    while (T--) 
//    {
//        long long a, b, c;
//        scanf_s("%lld %lld %lld", &a, &b, &c);
//        long long ans = a * b + a * c + b * c;
//        printf("%lld\n", ans);
//    }
//    return 0;
//}

//#include <stdio.h>
//
//int main() 
//{
//    int T;
//    scanf_s("%d", &T);
//    while (T--) 
//    {
//        long long n, a, b, c, d;
//        scanf_s("%lld %lld %lld %lld %lld", &n, &a, &b, &c, &d);
//        long long x = (a + b + c - n - d) / 2;
//        printf("%lld\n", x);
//    }
//    return 0;
//}

#/*include <stdio.h>

long long gcd(long long a, long long b) 
{
    if (b == 0) return a;
    return gcd(b, a % b);
}

int main()
{
    long long a, b, x, y;
    scanf_s("%lld %lld %lld %lld", &a, &b, &x, &y);
    long long g = gcd(a, b);
    long long points_per_line = a + b + 1 - g;
    long long total = 2 * points_per_line;
    if (a % 2 == 0 && b % 2 == 0) 
    {
        total--;
    }
    printf("%lld\n", total);
    return 0;
}*/

#include <stdio.h>

typedef long long ll;

const int P = 100003;

ll pow_mod(ll base, ll exp, ll mod) 
{
    ll result = 1;
    base %= mod;
    while (exp > 0)
    {
        if (exp & 1)
        {
            result = (result * base) % mod;
        }
        base = (base * base) % mod;
        exp >>= 1;
    }
    return result;
}

int main() 
{
    ll M, N;
    scanf_s("%lld %lld", &M, &N);
    ll total = pow_mod(M, N, P);
    ll no_escape = (M % P) * pow_mod(M - 1, N - 1, P) % P;
    ll ans = (total - no_escape + P) % P;
    printf("%lld\n", ans);
    return 0;
}